<?php

class Image_Transport_Local implements Image_ITransport
{
	/**
	 * Создает папку для хранения картинок.
	 * 
	 * @param string $path Название папки
	 * @return boolean
	 * @throws Image_Exception
	 */
	public function mkdir($name)
	{
		$dir = BASE_DIR . "/htdocs" . dirname($name);
		if (!file_exists($dir)) {
			if (!mkdir($dir, 02775, true)) {
				throw new Image_Exception("Не получилось создать директорию для сохранения картинки: $dir"); 
			}
		}
		return true;
	}

	/**
	 * Сохраняет переданный файл.
	 * 
	 * @param string $local Локальный путь до файла
	 * @param string $remote Удаленный путь до файла
	 * @return boolean
	 * @throws Image_Exception
	 */
	public function save($local, $remote)
	{
		$newPath = BASE_DIR . "/htdocs" . $remote;
		if($local != $newPath){
			if (!@copy($local, $newPath)) {
				throw new Image_Exception("Ошибка при копировании файла из $path в $newPath");
			}
		}
	}
}